home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / agrep / README < prev    next >
Text File  |  1994-08-01  |  4KB  |  105 lines

  1.  
  2.  
  3.                            agrep -- version 2.04
  4.  
  5.  
  6.      This is version 2.04 of agrep - a new tool for fast text searching 
  7.      allowing errors.  agrep is similar to egrep (or grep or fgrep), but 
  8.      it is much more general (and usually faster).
  9.  
  10.      The main changes from version 1.1 are 
  11.        1) incorporating Boyer-Moore type filtering to speed up search
  12.           considerably, 
  13.        2) allowing multi patterns via the -f option;  this is similar 
  14.           to fgrep, but from our experience agrep is much faster, 
  15.        3) searching for "best match" without having to specify the 
  16.           number of errors allowed, and 
  17.        4) ascii is no longer required.  Several more options were added.
  18.  
  19.      To compile, simply run make in the agrep directory.
  20.  
  21.      The three most significant features of agrep that are not supported 
  22.      by the grep family are:
  23.  
  24.       [1] the ability to search for approximate patterns;  
  25.           for example, 
  26.               "agrep -2 homogenos foo" 
  27.           will find homogeneous as well as any other word that can be 
  28.           obtained from homogenos with at most 2 substitutions, 
  29.           insertions, or deletions.  
  30.               "agrep -B homogenos foo" 
  31.           will generate a message of the form:
  32.  
  33.           best match has 2 errors, there are 5 matches, output them? (y/n)
  34.  
  35.       [2] agrep is record-oriented rather than just line oriented;  
  36.           a record is by default a line, but it can be user defined;  
  37.           for example, 
  38.               "agrep -d '^From ' 'pizza' mbox"
  39.           outputs all mail messages that contain the keyword "pizza".  
  40.           Another example:  
  41.               "agrep -d '$$' pattern foo" 
  42.           will output all paragraphs (separated by an empty line) that 
  43.           contain pattern.
  44.  
  45.       [3] multiple patterns with AND (or OR) logic queries;
  46.           for example, 
  47.               "agrep -d '^From ' 'burger,pizza' mbox" 
  48.           outputs all mail messages containing at least one of the two 
  49.           keywords (, stands for OR).  
  50.               "agrep -d '^From ' 'good;pizza' mbox" 
  51.           outputs all mail messages containing both keywords.
  52.  
  53.      Putting these options together one can ask queries like
  54.  
  55.        agrep -d '$$' -2 '<CACM>;TheAuthor;Curriculum;<198[5-9]>' bib
  56.  
  57.      which outputs all paragraphs referencing articles in CACM between 
  58.      1985 and 1989 by TheAuthor dealing with curriculum.  Two errors are 
  59.      allowed, but they cannot be in either CACM or the year (the <> 
  60.      brackets forbid errors in the pattern between them).  
  61.  
  62.      Other features include searching for regular expressions (with or 
  63.      without errors), unlimited wild cards, limiting the errors to only 
  64.      insertions or only substitutions or any combination, allowing each 
  65.      deletion, for example, to be counted as, say, 2 substitutions or 3 
  66.      insertions, restricting parts of the query to be exact and parts to 
  67.      be approximate, and many more.
  68.  
  69.      agrep is available by anonymous ftp from cs.arizona.edu 
  70.      (IP 192.12.69.5) as agrep/agrep-2.04.tar.Z (or in uncompressed form 
  71.      as agrep/agrep-2.04.tar).  The tar file contains the source code 
  72.      (in C), man pages (agrep.1), and two additional files, 
  73.      agrep.algorithms and agrep.chronicle, giving more information.  The 
  74.      agrep directory also includes two postscript files:  agrep.ps.1 is 
  75.      a technical report from June 1991 describing the design and 
  76.      implementation of agrep;  agrep.ps.2 is a copy of the paper as 
  77.      appeared in the 1992 Winter USENIX conference.
  78.  
  79.      Please mail bug reports (or any other comments) to sw@cs.arizona.edu
  80.      or to udi@cs.arizona.edu.
  81.  
  82.      We would appreciate if users notify us (at the address above) of any
  83.      extensions, improvements, or interesting uses of this software.
  84.  
  85.      January 17, 1992
  86.  
  87.  
  88.      BUGS_fixed/option_update
  89.  
  90.      1. remove multiple definitions of some global variables.
  91.      2. fix a bug in -G option.
  92.      3. fix a bug in -w option.
  93.      January 23, 1992
  94.      
  95.      4. fix a bug in pipeline input.
  96.      5. make the definition of word-delimiter consistant.
  97.      March 16, 1992
  98.      
  99.      6. add option '-y' which, if specified with -B option, will always
  100.      output the best-matches without a prompt.
  101.      April 10, 1992
  102.      
  103.      7. fix a bug regarding exit status.
  104.      April 15, 1992
  105.